Information processing apparatus and control method for switching a communication destination while reducing processing load when establishing a connection

ABSTRACT

A control method including switching, in accordance with receipt of a print instruction, from a first state to a second state in which communication with an external apparatus based on a second communication method is possible and communication with the Internet based on a first communication method is not performed, while connection to the Internet based on the first communication method and connection to the external apparatus based on the second communication method are established and maintained in parallel.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to an information processing apparatus anda control method.

Description of the Related Art

An information processing apparatus is known in which connection to anexternal apparatus and the Internet is established and communication isperformed. In such an information processing apparatus, a communicationdestination needs to be changed in accordance with situations.

Japanese Patent Laid-Open No. 2014-207650 proposes a technology inwhich, when a predetermined application is activated, a connection tothe Internet is cut and a connection to an external apparatus isestablished, and when communication with the external apparatus hasterminated, the connection to the external apparatus is cut and aconnection to the Internet is established.

However, in order to switch a communication destination bycutting/establishing a connection, the information processing apparatusneeds to store information about connection setting content and registerthe set information. Hence, in Japanese Patent Laid-Open No.2014-207650, there is an issue in that a load for performing theprocessing described above is generated every time a predeterminedapplication is activated or communication with the external apparatushas terminated.

The present disclosure has been completed in view of the issuesdescribed above, and a communication destination is switched whilereducing a load regarding processing for cutting/establishing aconnection.

SUMMARY OF THE INVENTION

A control method of the present invention for solving the issuesdescribed above is a control method for an information processingapparatus including: receiving a selection of data to be transmitted toan external apparatus, in a first state in which communication with theInternet based on a first communication method is possible andcommunication with the external apparatus based on a secondcommunication method is not performed; receiving a print instruction formaking the external apparatus perform printing on a basis of theselected data; switching, in accordance with receipt of the printinstruction, from the first state to a second state in whichcommunication with the external apparatus based on the secondcommunication method is possible and communication with the Internetbased on the first communication method is not performed, whileconnection to the Internet based on the first communication method andconnection to the external apparatus based on the second communicationmethod are maintained established in parallel; and transmitting theselected data to the external apparatus, when switched to the secondstate.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B are diagrams illustrating a schematic configuration ofan information processing apparatus of the present embodiment.

FIG. 2 is a flowchart illustrating processing performed by anapplication of the present embodiment.

FIG. 3 is an example of a screen for making a user select a function tobe performed by an application of the present embodiment.

FIG. 4 is an example of a screen for making a user select an image to beprinted by an external apparatus of the present embodiment.

FIG. 5 is an example of a screen for making the external apparatus printthe image selected by the user.

FIG. 6 is an example of a screen displayed in the case where theexternal apparatus of the present embodiment is being made to performprinting.

FIG. 7 is a diagram illustrating a communication system of the presentembodiment.

FIG. 8 is a flowchart illustrating processing performed by anapplication in the present embodiment.

DESCRIPTION OF THE EMBODIMENTS

Hereinafter, preferred embodiments will be illustratively described withreference to the drawings. It should be understood that regarding thepresent disclosure, embodiments realized by appropriately applyingmodifications or improvements within the scope of the present disclosureto the embodiments described below on the basis of usual knowledge ofthose skilled in the art are within the scope of the present disclosure.

First Embodiment

An information processing apparatus to which the present disclosure isapplied will be described. Note that a smart phone will be illustratedas the information processing apparatus in the present embodiment.However, an apparatus that can be used as the information processingapparatus is not limited this, and may be any apparatus that can performcommunication using a plurality of communication lines. In other wordsthe information apparatus may be a mobile terminal, a notebook PC, atablet terminal, a personal digital assistant (PDA), a digital camera,or the like. In the present embodiment, an inkjet-type multifunctionperipheral (MFP) is illustrated as an external apparatus. Note that anapparatus that can be used as the external apparatus is not limited tothis, and may be any apparatus that can communicate with the informationprocessing apparatus. In other words, the external apparatus may be afull-color printer, a monochrome printer, a copy machine, a facsimilemachine, a scanner, a portable terminal, a notebook PC, a tabletterminal, a PDA, a digital camera, or the like. Further, the externalapparatus may be a single-function peripheral (SFP) rather than an MFP.Further, when the external apparatus has a printer function, therecording method of the external apparatus is not limited to an inkjetmethod and may be another recording method, such as anelectrophotographic method.

FIGS. 1A and 1B are diagrams illustrating a schematic configuration of asmart phone 100 which is the information processing apparatus of thepresent embodiment.

FIG. 1A illustrates a hardware configuration of the smart phone 100. Thesmart phone 100 includes a CPU 101, an operation unit 102, a network I/F103, a network I/F 104, a memory 105, a display unit 106, and a storagedevice 107, which are connected to one another through a system bus.

The CPU 101 is a system control unit and is a processor controlling thewhole smart phone 100.

The operation unit 102 is an operation unit for a user to giveinstructions to the smart phone 100, and is formed of, for example,buttons, a touch panel, and the like.

The memory 105 is a random access memory (RAM) as a work area for theCPU 101 and is formed of a memory such as a static RAM (SRAM). Thememory 105 is used, for example, to store program control variables,various kinds of setting data, management data for the smart phone 100,and the like, and is used as a temporary storage area for various kindsof received data.

The display unit 106, which is formed of, for example, light emittingdiodes (LEDs), a liquid crystal display (LCD), or the like, displayspredetermined screens based on instructions from the CPU 101.

The storage device 107, which is formed of, for example, a flash memory,stores various programs executed by the CPU 101, such as controlprograms, application programs, the operating system (OS), and the like.In the present embodiment, the control program stored in the storagedevice 107 performs software control such as scheduling, task switching,and the like under the management of an embedded OS stored in thestorage device 107.

The network I/F 103 and the network I/F 104 are interfaces utilized bythe smart phone 100 for communication using different communicationlines. In the present embodiment, the network I/F 103 is an I/F for thesmart phone 100 to perform communication through connection to theInternet, by using a mobile communication line of a 3G or 4G system, forexample. For example, the smart phone 100 establishes connection to theInternet using a mobile communication line by setting an APN (accesspoint name, i.e., connection destination), a password, and the like. Thenetwork I/F 104 is an I/F for communication through connection to anexternal apparatus by using a communication line of a wireless LAN, suchas Wi-Fi (registered trademark). For example, the smart phone 100establishes connection to the Internet using a communication line of awireless LAN by detecting an access point corresponding to an externalapparatus and by performing connection setting, such as input of apassword. Note that, in the present embodiment, the number of networkI/Fs provided in the smart phone 100 is not limited to two. The smartphone 100 needs only to include at least an I/F that enablescommunication using a communication line that can be connected to theInternet, and an I/F that enables communication using a communicationline that can be connected to an external apparatus. The number of I/Fsmay be one if communication using a communication line that can beconnected to the Internet and communication using a communication linethat can be connected to an external apparatus can be realized by asingle I/F. Further, the communication lines utilized for the I/Fs arenot limited to those described above, and may instead be anothercommunication line based on, for example, Bluetooth (registeredtrademark), or may be a communication line based on a wiredcommunication method rather than a wireless communication method. Inaddition, the smart phone 100 need not be directly connected to theInternet or an external apparatus by using a corresponding I/F, and maybe connected to them through an apparatus like a router or the like.

FIG. 1B is a diagram illustrating the software configuration of thesmart phone 100. The smart phone 100 includes an operating system (OS)108 and an application 109. The OS 108 is a program that controls thewhole smart phone 100. In the present embodiment, the OS 108 supports amulti-network function (function of establishing connections using aplurality of communication lines in parallel (concurrently)). In thecase where the smart phone 100 has established connections using aplurality of communication lines in parallel, the OS 108 determines acommunication line to be used by the smart phone 100 on the basis ofpriority levels set in advance by a program. Note that in the presentembodiment, the OS 108 has a function of determining whether or not acommunication line whose connection has been established, is connectedto the Internet. In the case where the smart phone 100 has establishedconnections using a plurality of communication lines in parallel, the OS108 makes the smart phone 100 preferentially use a communication lineconnected to the Internet. In the present embodiment, the mobilecommunication line is a communication line for communication through aconnection to the Internet. Hence, when a connection to the mobilecommunication line and a connection to a wireless LAN communication linehave been established in parallel, the OS 108 makes the smart phone 100preferentially use the mobile communication line. Further, upon receiptof an instruction from the application 109, the OS 108 can performestablishing/releasing of a connection in each communication line,switching of a connection destination apparatus, setting of acommunication line to be used by the smart phone 100, and the like.

The application 109 is an application program for making the smart phone100 perform various functions. In the present embodiment, theapplication 109 has a function of controlling communication between anexternal apparatus such as a printer and the smart phone 100, andcausing the external apparatus such as a printer to print an imagerepresented by image data stored in the smart phone 100. Note that theapplication 109 is installed in the smart phone 100 through theInternet, for example.

The software described above, which has been stored in a memory such asthe storage device 107, is developed in the memory 105 and executed bythe CPU 101. Hence, in the description of the present embodiment,processing performed by the OS 108 or the application 109 is actuallyrealized as a result of the CPU 101 executing programs corresponding tothe OS 108 or the application 109.

FIG. 3 to FIG. 6 are diagrams each illustrating an example of a displayscreen displayed on the display unit 106.

FIG. 3 is an example of a screen for making a user select a function tobe executed by the application 109. The display unit 106 displays, indisplaying the screen of FIG. 3, a plurality of objects corresponding tofunctions that can be performed by the application 109. For example, the“Print photo” and “Print document” objects are objects for causing anexternal apparatus to perform printing processing, the “Scan” object isan object for causing the external apparatus to perform scan processing.

The “Cloud” object is an object for making the smart phone 100 obtaincontent from a server in the cloud and transmit the obtained content toan external apparatus, thereby making the external apparatus print thecontent in the Internet. In the “External apparatus name” portion, thename of the external apparatus to which the smart phone 100 is connectedis displayed.

Note that in displaying the screen of FIG. 3, the application 109 maydisplay objects corresponding to functions other than the functionsdescribed above. For example, the application 109 may display objectscorresponding to functions of performing various settings of theexternal apparatus and the smart phone 100, functions for confirming thestate of the external apparatus, and functions of using a Web UIinstalled in the external apparatus.

FIG. 4 is an example of a screen for making a user select an image to beprinted by an external apparatus. For example, the screen illustrated inFIG. 4 is displayed when the user has selected the “Print photo” or“Cloud” object displayed on the screen of FIG. 3. These images may beimages locally stored in the smart phone 100 or images obtained throughthe Internet. The user can select image data to be used for printing bytapping the displayed image.

FIG. 5 is an example of a screen for making the external apparatus printthe image selected by the user. The display unit 106 displays, indisplaying the screen of FIG. 5, a plurality of objects corresponding tothe data of the images to be printed by the external apparatus and anobject (“Print” button in the figure) used to make a decision to causethe external apparatus to perform printing. The user, by tapping the“Print” button, can cause the external apparatus to print the imagerepresented by the selected image data.

FIG. 6 is an example of a screen displayed in the case where an externalapparatus is being made to perform printing. The display unit 106displays, in displaying the screen of FIG. 6, setting information,statuses, and the like regarding printing performed by the externalapparatus.

FIG. 7 is a diagram illustrating the communication system of the presentembodiment. An MFP 700, which is the external apparatus of the presentembodiment, includes a function of communicating with the smart phone100, a function of printing an image represented by image data receivedfrom the smart phone 100, and the like. Referring to FIG. 7, the smartphone 100 can establish a connection to the Internet 702 through a basestation 701 by using a communication line 704. Note that, in the presentembodiment, the communication line 704 corresponds to a 3G or 4G mobilecommunication line, for example. Further, the smart phone 100 canestablish a connection to the MFP 700 by utilizing a communication line705. Note that the communication line 705 corresponds to a communicationline based on a wireless LAN such as Wi-Fi (registered trademark) in thepresent embodiment.

In a state in which connections are established in parallel by using twoor more communication lines, the smart phone 100 is in a state of beingcapable of communication using a communication line specified by the OS108, among the communication lines with established connections. Notethat in the present embodiment, when connections using the communicationline 704 and the communication line 705 have been established inparallel as described above, the OS 108 makes the smart phone 100preferentially utilize the communication line 704. Note that although,in the present embodiment, the smart phone 100, regarding connection tothe MFP 700 using the communication line 705, is connected directly tothe MFP 700 without passing through an external access point such as arouter or a base station, the smart phone 100 may be connected throughan external access point. Note that, at this time, if the externalaccess point is connected to the Internet 702, the smart phone 100 canbe connected to the Internet 702 even in a state of performingcommunication through the communication line 705. Hence, in that state,the application 109 need not perform the processing described below.

FIG. 2 is a flowchart illustrating the processing performed by theapplication 109 in the present embodiment, for switching a communicationline (hereinafter, called a utilized line) made to be utilized by thesmart phone 100. Note that it is assumed that the processing illustratedby the flowchart is realized as a result of the CPU 101 loading into thememory 105 a control program stored in the application 109 or an HDD(not illustrated) or the like provided in the smart phone 100, andexecuting the control program. Further, it is assumed that theprocessing illustrated by the flowchart is started when the application109 is activated in accordance with a publicly known activationsequence.

First, the application 109 displays a display screen for identifyingimage data to be transmitted to the MFP 700 on the display unit 106(step S201). Here, it is assumed that the application 109 displays thedisplay screen illustrated in FIG. 4. Note that at the timing at whichthe display screen illustrated in FIG. 4 is displayed may be a timing atwhich the application 109 is activated or a timing at which the displayscreen illustrated in FIG. 4 is called by a user operation in a state inwhich the application 109 is operating. Note that an example ofidentified data is image data in the present embodiment, but not limitedto the image data, the identified data may be document data or commandsand the like for making the MFP 700 perform predetermined processing.Further, in the case where data transmitted to an apparatus providedwith a function other than a printing function is identified, any datamay be allowed as far as the data can be processed by the apparatus.Note that the identified data need not be data which is stored in thesmart phone 100 itself, and may be stored, for example, in a cloudserver 703 and the like with which the smart phone 100 can communicatethrough the Internet 702. However, in that case, the smart phone 100needs to be utilizing a communication line that can be connected to theInternet 702, to obtain data from the cloud server 703. Further, thesmart phone 100 needs to be utilizing a communication line that can beconnected to the Internet 702 in the case of displaying an online manualregarding the application 109 or the MFP 700 or in the case of renderingimage data through the cloud server 703. For that purpose, in thepresent embodiment, the application 109 instructs the OS 108 to make thecommunication line 704 be a utilized communication line (step S202). Atthis time, the CPU 101 specifically executes a program of the OS 108regarding determination of a utilized line by using values obtained byexecuting a program of the application 109.

The OS 108, upon receipt of an instruction, switches a utilized line tothe communication line 704, thereby making the smart phone 100 enter astate in which communication is performed using the communication line704. As a result of employing an approach like this, the application 109can allow the smart phone 100 to utilize information in the Internet 702at a timing at which communication with the MFP 700 is not needed. Notethat the application 109 need not perform the processing of step S202 inthe case where the OS 108 has already made the utilized line be thecommunication line 704.

Then, the application 109 identifies image data to be used for printingperformed by the MFP 700 (step S203). At this time, specifically, theapplication 109 identifies image data to be transmitted to the MFP 700by receiving a selection of image data from the user through the displayscreen of FIG. 4. Note that the identified number of pieces of imagedata need not be one. For example, when a selection of a plurality ofpieces of image data is received from the user, a plurality of pieces ofimage data may be identified. Further, when the application 109identified image data stored in the outside of the smart phone 100, forexample, in the cloud server 703 or the like, the application 109obtains the identified image data through, for example, communicationwith the Internet 702.

After that, the application 109, upon receipt of a data transmissioninstruction, determines that the MFP 700 perform printing by using theimage data identified in step S203 (step S204). At this time,specifically, after detecting that an operation on an object for causingthe MFP 700 to perform printing is performed through the display screenof FIG. 5, the application 109 determines that the MFP 700 performprinting. Note that, not limited to this approach, the application 109may determine that the MFP 700 perform printing when the smart phone 100is moved into a predetermined range with the MFP 700 as the center. Notethat in order for the application 109 to cause the MFP 700 to performprinting, the image data needs to be transmitted from the smart phone100 to the MFP 700. Hence, the application 109 determines whether or nota connection between the smart phone 100 and the MFP 700 using thecommunication line 705 has been established (step S205). When it isdetermined that the connection has not been established, the application109 displays a screen prompting the user to establish a connectionbetween the smart phone 100 and the MFP 700 using the communication line705 (step S206). In this manner, the smart phone 100 detects that theuser operations for detection of the SSID of the MFP 700, input of apassword, and the like have been performed and can obtain connectionsetting information, and can establish a connection to the MFP 700. Notethat the application 109, after displaying a screen prompting the userto establish a connection, detects again that an operation on an objectfor causing the MFP 700 to perform printing is performed, and performsagain the processing of step S204. Further, for example, there may be acase where the smart phone 100 has stored the connection settinginformation in the memory 105 or the like because the smart phone 100has previously detected an operation performed by the user. In thiscase, the application 109 may perform the processing of step S207without performing the processing of step S206, by instructing the OS108 to establish a connection to the MFP 700 using the communicationline 705, by utilizing the connection setting information which has beenstored.

In step S205, when it is determined that a connection between the smartphone 100 and the MFP 700 using the communication line 705 has beenestablished, the smart phone 100 has established connections using thecommunication line 704 and the communication line 705 in parallel.However, at this time, as described above, a state has been entered inwhich the communication line 704 is to be utilized in accordance withthe instruction from the OS 108. The communication line 704 is not acommunication line that can communicate with the MFP 700 and, hence, thesmart phone 100 cannot transmit image data to the MFP 700 in this state.Therefore, in the present embodiment, the application 109 instructs theOS 108 to make the communication line 705 be a utilized line (stepS207). The OS 108, upon receipt of the instruction, switches theutilized line to the communication line 705 and causes the smart phone100 to enter a state in which communication is performed by utilizingthe communication line 705. At this time, the connection using thecommunication line 704 continues without being cut. Hence, the smartphone 100 need not perform processing for establishing a connection evenin the case where the communication line 704 is used again as a utilizedline, for example, to identify again the image data to be transmitted.After that, the application 109 causes the smart phone 100 to transmitthe image data identified in step S203 to the MFP 700, thereby causingthe MFP 700 to perform printing (step S208). Note that, at this time,the application 109 may cause the smart phone 100 to transmit not onlythe image data but also other information such as, for example, printsetting information.

After that, the application 109 determines whether or not the utilizedline is to be switched (step S209). At this time, specifically, theapplication 109 obtains from the MFP 700 information about the status ofthe processing of a job, and determines whether or not printing isfinished by the MFP 700. When it is determined that printing has notbeen finished, it is determined that the utilized line is not to beswitched, and when it is determined that printing has finished, it isdetermined that the utilized line is to be switched. This is because thesmart phone 100 needs to maintain a state enabling communication withthe MFP 700 to obtain information about printing statuses, such as astatus change in time, with or without an error, and the like. Note thatin step S209, the application 109 may determine whether or not thetransmission of image data has been finished. In that case, when it isdetermined that the transmission of image data has not been finished,the application 109 determines that the utilized line is not to beswitched, and when it is determined that the transmission of image datahas been finished, the application 109 determines that the utilized lineis to be switched. Even when the transmission of image data has beenfinished or printing performed by the MFP 700 has been finished, theapplication 109 may determine that the utilized line is not to befinished when communication with the MFP 700 needs to be continued. Thecases where communication with the MFP 700 is continuously neededinclude a case where the status information of the MFP 700 needs to becontinuously obtained, and a case where transferring of image data(image data that can be obtained without the Internet 702) within thesmart phone 100 is continued.

The application 109, when determining in step S209 that the utilizedline is not to be switched, repeats the processing of step S209 until itdetermines that the utilized line is to be switched. On the other hand,the application 109, when determining that the utilized line is to beswitched, instructs the OS 108 to make the communication line 704 be autilized line (step S210). The OS 108, upon receipt of the instruction,switches the utilized line, and makes the smart phone 100 enter a statein which communication is performed by utilizing the communication line704. At this time, the smart phone 100, since the utilized line has beenswitched without cutting a connection to the communication line 704 instep S207, need not perform processing for establishing a connection instep S210. Further, at this time, since a connection using thecommunication line 705 continues without being cut, the smart phone 100need not perform processing for establishing a connection even when theutilized line is made to be the communication line 705 again, forexample, when the job is transmitted again. After that, the application109 repeats the processing described above until the operation of theapplication terminates.

As has been described above, in the present embodiment, the smart phone100 switches a utilized line in such a manner as to utilize acommunication line which is suitable for the case where the Internetcommunication is necessary or the case where communication with the MFP700 is necessary. With this configuration, the smart phone 100 canutilize an appropriate communication line in accordance with thesituation.

Further, in the present embodiment, the smart phone 100, when data needsto be transmitted to the MFP 700, switches a utilized communication linewithout cutting an established connection. As a result, the smart phone100 need not perform processing for storing and resetting connectionsetting information every time the utilized communication line isswitched and, hence, compared with a configuration in which acommunication destination is switched by establishing and cutting aconnection, time for switching of a communication destination can bereduced.

Example methods of switching a utilized communication line withoutcutting an established connection include a method of switching betweenvalid and invalid data communication settings of the smart phone 100.However, this method needs a configuration in which the smart phone 100displays a screen for switching between valid and invalid mobile datacommunication settings provided by the OS and receives an input form auser through the screen. In the present embodiment, in a situation inwhich a utilized communication is to be switched, the application 109automatically switches the utilized line by instructing the OS 108.Hence, in the present embodiment, the communication line utilized by thesmart phone 100 can be switched without making the user perform mobiledata communication setting (without displaying a screen for switchingbetween valid and invalid mobile data communication settings).

Second Embodiment

In the embodiment described above, a configuration was described inwhich the smart phone 100 establishes connections using thecommunication line 704 and the communication line 705 in parallel, andthe utilized line is switched in accordance with situations. However,the smart phone 100 may not support a multi-network function, dependingon the type of installed OS, for example, and there is a case in whichthe connections using the communication line 704 and the communicationline 705 cannot be established in parallel. Hence, in the presentembodiment a configuration will be described in which processing isswitched in consideration of the type of OS. Note that the basicconfiguration of the present embodiment is similar to that of the firstembodiment and, hence, only configurations specific to the presentembodiment will be described.

FIG. 8 is a flowchart illustrating the processing performed by theapplication 109 in the present embodiment. Note that it is assumed thatthe processing illustrated by the flowchart is realized as a result ofthe CPU 101 loading into the memory 105 a control program stored in thestorage device 107 or, for example, an HDD (not illustrated) provided inthe smart phone 100, and executing the control program. Further, it isassumed that the processing illustrated by the flowchart is started whenthe application 109 is activated by the application 109 in accordancewith a publicly known activation sequence.

The processing illustrated in steps S801 to S810 is similar to theprocessing illustrated in steps S201 to S210 and, hence, the descriptionthereof is omitted.

First, in step S811, the application 109 determines whether or not theOS 108 supports the multi-network function in the smart phone 100.Specifically, at this time, the application 109 recognizes versions thatsupport the multi-network function and identifies the version of the OS108. When it is determined that the multi-network function is supported,the application 109 performs the processing illustrated in steps S801 toS810. When it is determined that the multi-network function is notsupported, the application 109 performs the processing illustrated insteps S812 to S817.

First, in step S812, the application 109 displays a display screen foridentifying image data to be transmitted to the MFP 700 on the displayunit 106, similarly to step S201. At this time, when connection usingthe communication line 704 has been established, the application 109 candisplay content in the Internet. After that, since the smart phone 100cannot perform the multi-network function, the application 109identifies image data to be used for printing performed by the MFP 700without performing the processing of step S802 (step S813). Then theapplication 109 determines that the MFP 700 print an image representedby the identified image data, similarly to the processing of step S804(step S814).

After that, similarly to the processing of step S805, the application109 determines whether or not connection between the smart phone 100 andthe MFP 700 using the communication line 705 has been established (stepS815). When it is determined that the connection has not beenestablished, the application 109, similarly to the processing of stepS806, displays a screen for prompting the user to establish connectionbetween the smart phone 100 and the MFP 700 using the communication line705 (step S816). In this manner, the smart phone 100 detects thatoperations for detection of the SSID of the MFP 700, input of apassword, and the like have been performed by the user and can obtainconnection setting information and can establish a connection to the MFP700 using the communication line 705. Note that, at this time, since thesmart phone 100 cannot perform a multi-network function, the smart phone100 cuts a connection using the communication line 704. Further, theapplication 109, after displaying a screen prompting the user toestablish a connection, detects again an operation on the object forcausing the MFP 700 to perform printing, and performs again theprocessing of step S814. Further, for example, there may be a case wherethe smart phone 100 has stored the connection setting information in thememory 105 or the like because the smart phone 100 has previouslydetected an operation performed by the user. In this case, theapplication 109 may perform the processing of step S817 withoutperforming the processing of step S816, by instructing the OS 108 toestablish a connection to the MFP 700 using the communication line 705,by utilizing the connection setting information which has been stored.

When a connection between the smart phone 100 and the MFP 700 using thecommunication line 705 has been established, the application 109identifies image data to be used for printing performed by the MFP 700,and causes the MFP 700 to print an image represented by the image data(step S817). At this time, since the smart phone 100 cannot establishmultiple connections, the application 109 does not perform processingwhich is performed in step S807. After that, the application 109 repeatsthe processing described above until the operation of the applicationterminates.

By employing the approach described above, the application 109 canperform processing in accordance with the type of OS installed in thesmart phone 100.

Other Embodiments

In the embodiments described above, the example has been described inwhich a job for causing an external apparatus to perform printprocessing is transmitted to the external apparatus, as an example ofdata communication processing with an external apparatus, but thepresent disclosure is not limited to this. In other words, in thepresent disclosure, for example, a command may be transmitted to causescan processing to be performed for reading a document set in anexternal apparatus. Further, the present disclosure can be similarlyapplied at the time of execution of data communication for performingsetting of an external apparatus, data communication for obtaining thestate of an external apparatus, processing for transferringpredetermined data to an external apparatus, and the like.

In the embodiments described above, a configuration was employed inwhich switching of a utilized line is performed at the start and end ofdata communication; however, the present disclosure is not limited tothis configuration. For example, in the case where the application 109does not utilize the content in the cloud server 703, the smart phone100 need not be connected to the Internet 702 in a state in which theapplication 109 is operating. Hence, a configuration may be employed inwhich a utilized line is switched in the case where the application 109has been activated or the operation thereof has terminated. Further, theapplication 109 need only switch the utilized line at least one timingamong the timing of the start of data communication, the timing of theend of the data communication, the timing at which the application 109has been activated, and the timing at which the operation of theapplication 109 has terminated. For example, in the configuration inwhich the utilized line is switched at the four timings described above,even in the case where the communication line 705 is made to be autilized line after activation and the communication line 704 is made tobe a utilized line at the time when data communication has terminated,the communication line 705 can again be made to be a utilized line atthe time of starting data communication. Further, for example, there maybe a case in which there are a screen in which content in the cloudserver 703 is utilized and a screen in which content in the cloud server703 is not utilized, as screens for selecting data to be transmitted. Inthis case, the application 109 may switch the utilized line inaccordance with the start and end of a screen for utilizing the contentin the cloud server 703.

In the embodiments described above, the application 109 which is anapplication program performs the control of the present disclosure.However, for example, the OS may perform the control of the presentdisclosure. In other words, the OS may identify the start of datacommunication, the end of data communication, and the timings ofactivation of the application 109 and the end of the operation of theapplication 109, and switch a utilized line.

As far as the effects of the embodiments described above can berealized, the sequence of processing steps of the flowchart of theembodiments described above may be changed, it is not necessary toperform all of the processing steps, and the content of the processingsteps may be modified. For example, the application 109 may perform theprocessing of step S202 when the application 109 has been activated,i.e., before the processing of step S201.

The embodiments described above can also be realized by processingobtained by providing a program that realizes one or more functions ofthe embodiments described above to a system or an apparatus via anetwork or a storage medium and as a result of one or more processors ina computer of the system or the apparatus executing the program.Further, the embodiments described above can be realized by a circuit(for example, an ASIC) realizing one or more functions.

According to the present disclosure, switching of a communicationdestination can be realized while reducing the load of processingpertaining to cutting and establishment of a connection.

Embodiments of the present disclosure can also be realized by a computerof a system or apparatus that reads out and executes computer executableinstructions (e.g., one or more programs) recorded on a storage medium(which may also be referred to more fully as a ‘non-transitorycomputer-readable storage medium’) to perform the functions of one ormore of the above-described embodiments and/or that includes one or morecircuits (e.g., application specific integrated circuit (ASIC)) forperforming the functions of one or more of the above-describedembodiments, and by a method performed by the computer of the system orapparatus by, for example, reading out and executing the computerexecutable instructions from the storage medium to perform the functionsof one or more of the above-described embodiments and/or controlling theone or more circuits to perform the functions of one or more of theabove-described embodiments. The computer may comprise one or moreprocessors (e.g., central processing unit (CPU), micro processing unit(MPU)) and may include a network of separate computers or separateprocessors to read out and execute the computer executable instructions.The computer executable instructions may be provided to the computer,for example, from a network or the storage medium. The storage mediummay include, for example, one or more of a hard disk, a random-accessmemory (RAM), a read only memory (ROM), a storage of distributedcomputing systems, an optical disk (such as a compact disc (CD), digitalversatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, amemory card, and the like.

While the present disclosure has been described with reference toexemplary embodiments, it is to be understood that the presentdisclosure is not limited to the disclosed exemplary embodiments. Thescope of the following claims is to be accorded the broadestinterpretation so as to encompass all such modifications and equivalentstructures and functions.

This application claims the benefit of Japanese Patent Application No.2015-214961, filed Oct. 30, 2015, which is hereby incorporated byreference herein in its entirety.

What is claimed is:
 1. A control method for an information processingapparatus comprising: displaying, on a display unit, a screen forreceiving, from a user, an operation for selection of data that isacquired via first communication with the Internet based on a firstcommunication method and is to be transmitted to an external apparatusin a state that the information processing apparatus is operating in afirst state in which a first connection with the Internet based on thefirst communication method and a second connection with the externalapparatus based on a second communication method are established inparallel and in which the first communication with the Internet based onthe first communication method is possible and second communication withthe external apparatus based on the second communication method is notpossible; receiving a transmission instruction for transmitting the dataselected on a basis of the operation received via the screen in thestate that the information processing apparatus is operating in thefirst state to the external apparatus; switching, in accordance withreceipt of the transmission instruction, the state of the informationprocessing apparatus from the first state to a second state in which thefirst connection and the second connection are established in paralleland in which the second communication is possible and the firstcommunication is not possible, the switching being performed while theinformation processing apparatus maintains the first connection and thesecond connection in parallel; and transmitting, to the externalapparatus, if the state of the information processing apparatus switchesfrom the first state to the second state, the data selected on the basisof the operation received in the state that the information processingapparatus is operating in the first state and acquired via the firstcommunication with the Internet based on the first communication method.2. The control method according to claim 1, further comprising:switching, in accordance with activation of a predetermined program thatoperates in the information processing apparatus, the state of theinformation processing apparatus from the second state to the firststate, while the information processing apparatus maintains the firstconnection and the second connection in parallel.
 3. The control methodaccording to claim 1, further comprising: identifying that processingbased on data transmitted by the second communication method hasterminated, and switching the state of the information processingapparatus from the second state to the first state, in accordance withtermination of processing based on the data transmitted by the secondcommunication method, while the information processing apparatusmaintains the first connection and the second connection in parallel. 4.The control method according claim 1, further comprising: identifyingthat an operation of a predetermined program that operates in theinformation processing apparatus terminates; and switching the state ofthe information processing apparatus from the second state to the firststate in accordance with termination of the operation of thepredetermined program, while the information processing apparatusmaintains the first connection and the second connection in parallel. 5.The control method according to claim 1, further comprising: switchingthe state of the information processing apparatus from the second stateto the first state in accordance with the screen having been displayedon the display unit while the information processing apparatus maintainsthe first connection and the second connection in parallel.
 6. Thecontrol method according to claim 1, wherein the second communicationmethod is Wi-Fi (registered trademark) communication, and the firstcommunication method is mobile communication.
 7. The control methodaccording to claim 1, wherein the second connection with the externalapparatus is direct connection performed by the second communicationmethod without passing through an access point in an outside of theexternal apparatus or an outside of the information processingapparatus.
 8. The control method according to claim 1, furthercomprising: switching, in accordance with transmission of the dataselected on the basis of the operation received in the state that theinformation processing apparatus is operating in the first state to theexternal apparatus, the state of the information processing apparatusfrom the second state to the first state while the informationprocessing apparatus maintains the first connection and the secondconnection in parallel.
 9. The control method according to claim 1,wherein, in a case where the data selected on the basis of the operationreceived in the state that the information processing apparatus isoperating in the first state is transmitted to the external apparatus,printing based on the data selected on the basis of the operationreceived in the state that the information processing apparatus isoperating in the first state is performed by the external apparatus. 10.A control method for an information processing apparatus comprising:causing, in a state that a screen is displayed on a display unit of theinformation processing apparatus by a predetermined application programfor performing data communication with an external apparatus, theinformation processing apparatus to operate in a first state in which afirst connection with the Internet based on a first communication methodand a second connection with the external apparatus based on a secondcommunication method are established in parallel and in which firstcommunication with the Internet based on the first communication methodis possible and second communication with the external apparatus basedon the second communication method is not possible; displaying, on thedisplay unit, a selecting screen for receiving, from a user, anoperation for selection of data that is acquired via first communicationwith the Internet based on a first communication method and is to betransmitted to an external apparatus in a state that the informationprocessing apparatus is operating in the first state; switching, in thestate that the screen is displayed on the display unit by thepredetermined application program, the state of the informationprocessing apparatus from the first state to a second state in which thefirst connection and the second connection are established in paralleland in which the second communication is possible and the firstcommunication is not possible, the switching being performed while theinformation processing apparatus maintains the first connection and thesecond connection in parallel; transmitting, to the external apparatus,the data selected on the basis of the operation in the state that thescreen is displayed on the display unit by the predetermined applicationprogram and in a state that the information processing apparatus isoperating in the second state; and switching, after completion of thedata transmission to the external apparatus, the state of theinformation processing apparatus from the second state to the firststate while the information processing apparatus maintains the firstconnection and the second connection in parallel.
 11. The control methodaccording to claim 10, further comprising: switching, in accordance withactivation of the predetermined program, the state of the informationprocessing apparatus from the second state to the first state while theinformation processing apparatus maintains the first connection and thesecond connection in parallel.
 12. The control method according to claim10, wherein, upon termination of processing based on the transmitteddata by the external apparatus, the state of the information processingapparatus is switched from the second state to the first state while theinformation processing apparatus maintains the first connection and thesecond connection in parallel.
 13. The control method according to claim10, wherein, upon termination of operation the predetermined program,the state of the information processing apparatus is switched from thesecond state to the first state while the information processingapparatus maintains the first connection and the second connection inparallel.
 14. The control method according to claim 10, wherein, upontermination of the data transmission to the external apparatus, thestate of the information processing apparatus is switched from thesecond state to the first state while the information processingapparatus maintains the first connection and the second connection inparallel.
 15. The control method according to claim 10, furthercomprising: switching, based on displaying the selecting screen on thedisplay unit, the state of the information processing apparatus from thesecond state to the first state while the information processingapparatus maintains the first connection and the second connection inparallel.
 16. The control method according to claim 10, furthercomprising: receiving a transmission instruction for transmitting datato the external apparatus; wherein, based on receiving the transmissioninstruction, the state of the information processing apparatus isswitched from the first state to the second state while the informationprocessing apparatus maintains the first connection and the secondconnection in parallel.
 17. The control method according to claim 10,wherein, after completion of the data transmission to the externalapparatus, in the state that the screen displayed on the display unit bythe predetermined application program, the state of the informationprocessing apparatus is switched from the second state to the firststate while the information processing apparatus maintains the firstconnection and the second connection in parallel.
 18. The control methodaccording to claim 10, wherein the second communication method is Wi-Fi(registered trademark) communication, and the first communication methodis mobile communication.
 19. The control method according to claim 10,wherein the second connection with the external apparatus is directconnection performed by the second communication method without passingthrough an access point in an outside of the external apparatus or anoutside of the information processing apparatus.
 20. The control methodaccording to claim 10, wherein, in a case where the data selected on thebasis of the operation is transmitted to the external apparatus via thedata communication with the external apparatus, printing based on thedata selected on the basis of the operation is performed by the externalapparatus.